/**
 * 使用js文件可以完成跨平台编译，兼容win ios linux
 * 而.bat只适用于win
 *   .sh 只用用于ios/linux
 * 
 * 注意：编译时，使用cmd
 */

/**
 * 简洁版：可用，但不会删除构建目录(build)
 */
// const { execSync } = require('child_process');
// execSync('emcmake cmake -Bbuild && cmake --build build', {
//   cwd: 'src/cpp',
//   stdio: 'inherit'
// });

/**
 * 加强版：可用，会删除构建目录(build)
 */
const { execSync } = require('child_process');
const fs = require('fs');
const path = require('path');

try {
  // 编译
  execSync('emcmake cmake -Bbuild && cmake --build build', { 
    cwd: 'src/cpp',
    stdio: 'inherit' 
  });

  // 清理构建目录
  const buildDir = path.join('src', 'cpp', 'build');
  fs.rmSync(buildDir, { recursive: true, force: true });
  console.log('清理完成：已删除', buildDir);
} catch (err) {
  console.error('构建或清理失败:', err.message);
  process.exit(1);
}
